10 research outputs found

    Parallel protein identification using an FPGA-based solution

    No full text
    The ability to rapidly identify a given protein from small subsamples (i.e. peptides) is at the basis of fundamental applications in the medical field. At the basis of protein identification we have a string matching problem which is computational intensive if we consider that the complexity of the algorithm scales with the length of the string and the number of sweeps of the database that are needed. In this paper we present an improvement for the FPGA-based string matching solution available in the literature improving the amount of parallelism exploited by the solution achieving a 1.63Ă— reduction of the energy needed for the task over the literature and a 5.75Ă— reduction when compared with high-end workstation

    A runtime controller for OpenCL applications on heterogeneous system architectures

    No full text
    Heterogeneous architectures nowadays are becoming very at-tractive in the embedded and mobile markets thanks to the possibility to exploit the best computational resource to op-timize the performance per Watt figure of merit. Unfortu-nately, deciding the right resource to use and its operating frequency is a difficult problem that depends on the actual conditions in which the system is operating. This work aims at proposing a runtime controller, integrated in Linux Oper-ating System (OS), for optimizing the power efficiency of a running application deciding the system configuration. Our experimental results over a set of applications from the Poly-bench suite on the Odroid XU3 board show that our con-troller is able to obtain a power efficiency of more than 90% of the one achievable via offline profiling

    A runtime controller for openCL applications on heterogeneous system architectures

    No full text
    Nowadays Heterogeneous System Architectures (HSAs) are becoming very attractive in the embedded and mobile markets thanks to the possibility to select the best computational resource among the available compute units to optimize the performance per Watt figure of merit. In this scenario, OpenCL is becoming the standard paradigm for heterogeneous computing supporting the programming of all types of units with a single abstraction level. However, the decision of the resource to use together with its architectural tuning is still left to the programmer; this issue is even more exacerbated when considering the fact that the choice depends also on the actual conditions in which the system is operating. This work aims at proposing a runtime controller, integrated in Linux Operating System (OS), for optimizing the power efficiency of a running OpenCL application deciding the system configuration. Our experimental results over a set of applications from the Polybench suite on the Odroid XU3 board show that our controller is able to obtain a power efficiency of more than 90% of the one achievable via offline profiling

    A Runtime Controller for OpenCL Applications on Heterogeneous System Architectures *

    No full text
    ABSTRACT Heterogeneous architectures nowadays are becoming very attractive in the embedded and mobile markets thanks to the possibility to exploit the best computational resource to optimize the performance per Watt figure of merit. Unfortunately, deciding the right resource to use and its operating frequency is a difficult problem that depends on the actual conditions in which the system is operating. This work aims at proposing a runtime controller, integrated in Linux Operating System (OS), for optimizing the power efficiency of a running application deciding the system configuration. Our experimental results over a set of applications from the Polybench suite on the Odroid XU3 board show that our controller is able to obtain a power efficiency of more than 90% of the one achievable via offline profiling

    A self-adaptive approach to efficiently manage energy and performance in tomorrow's heterogeneous computing systems

    No full text
    ICT adoption rate boomed during the last decades as well as the power consumption footprint that generates from those technologies. This footprint is expected to more than triple by 2020. Moreover, we are moving towards an on-demand computing scenario, characterized by varying workloads, constituted of diverse applications with different performance requirements, and criticality. A promising approach to address the challenges posed by this scenario is to better exploit specialized computing resources integrated in a heterogeneous system architecture (HSA) by taking advantage of their individual characteristics to optimize the performance/energy trade-off of the overall system. Better exploitation although comes with higher complexity. System architects need to take into account the efficiency of systems units, i.e. GPP(s) either alone or with a single family of accelerators (e.g., GPUs or FPGAs), as well as the applications workload, which often leads to inefficiency in their exploitation, and therefore in performance/energy. The work presented in this paper will address these limitations by exploiting self-adaptivity to allow the system to autonomously decide which specialized resource to exploit for a carbon footprint reduction, due to a more effective execution of the application, optimizing goals that the user can set (e.g., performance, energy, reliability)

    The Autonomic Operating System Research Project - Achievements and Future Directions

    No full text
    Traditionally, hypervisors, operating systems, and runtime systems have been providing an abstraction layer over the bare-metal hardware. Traditional abstractions, however, do not consider for non-functional requirements such as system-level constraints or users' objectives. As these requirements are gaining increasing importance, researchers are looking into making user-specified and system-level objectives first-class citizens in the computer systems' realm. This paper describes the Autonomic Operating System (AcOS) project; AcOS enhances commodity operating systems with an autonomic layer that enables self-* properties through adaptive resource allocation. With AcOS, we investigate intelligent resource allocation to achieve user-specified service-level objectives on application performance and to respect system-level thresholds on CPU temperature. We give a broad overview of \system, elaborate on its achievements, and discuss research perspectives

    Hardware design automation of convolutional neural networks

    No full text
    Convolutional Neural Networks (CNNs) are a variation of feed-forward Neural Networks inspired by the biological process in the visual cortex of animals. The interest in this supervised learning algorithm has rapidly grown in many fields like image and video recognition and natural language processing. Nowadays they have become the state of the art in various applications like mobile robot vision, video surveillance and Big Data analytics. The specific computation pattern of CNNs results to be highly suitable for hardware acceleration, in fact different types of accelerators have been proposed based on GPU, Field Programmable Gate Array (FPGA) and ASIC. In particular, in the embedded systems context, due to real time and power consumption challenges, it is crucial to find the right tradeoff between performance, energy efficiency, fast development round and cost. This work proposes a framework meant as a tool for the user to accelerate and simplify the design and the implementation of CNNs on FPGAS by leveraging High Level Synthesis, still providing a certain level of customization of the hardware design

    Runtime Resource Management in Heterogeneous System Architectures: The SAVE Approach

    No full text
    The increasing availability of different kinds of processing resources in heterogeneous system architectures associated with today's fast-changing, unpredictable workloads has propelled an interest towards systems able to dynamically and autonomously adapt how computing resources are exploited to optimize a given goal. Self-adaptiveness and hardware-assisted virtualization are the two key-enabling technologies for this kind of architectures, to allow the efficient exploitation of the available resources based on the current working context. The SAVE project will develop HW/SW/OS components that allow for deciding at runtime the mapping of the computation kernels on the appropriate type of resource, based on the current system context and requirements
    corecore